/*
 * Copyright (c) 2007-2020 西安交通信息投资营运有限公司 版权所有
 */

package com.xci.edu.core.dao;

import com.github.lvyanyang.annotation.Paging;
import com.xci.edu.core.entity.EduStudentTrainLog;
import com.xci.edu.core.filter.EduStudentTrainLogFilter;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 学员培训日志数据层
 * @author 张谦 zhangqian@xci96716.com
 * @since 2020-11-25 09:35:56
 */
public interface EduStudentTrainLogDao {
    /**
     * 新建学员培训日志
     * @param entity 学员培训日志实体
     * @return 返回影响的行数
     */
    int insert(@Param("entity") EduStudentTrainLog entity);
    ///**
    // * 是否存在指定主键的学员培训日志
    // * @param id 学员培训日志主键
    // * @return 如果存在返回true
    // */
    //boolean existxById(@Param("id") Long id);

    ///**
    // * 是否存在指定名称的学员培训日志
    // * @param name 学员培训日志名称
    // * @param excludeId 排除的主键，如果为null则不指定排除的主键
    // * @return 如果存在返回true
    // */
    //boolean existxByName(@Param("name") String name, @Param("excludeId") Long excludeId);


    /**
     * 根据主键查询单个学员培训日志
     * @param id 学员培训日志主键
     * @return 返回学员培训日志实体
     */
    EduStudentTrainLog selectById(@Param("id") Long id);

    /**
     * 查询学员培训日志列表
     * @param filter 过滤条件
     * @return 返回学员培训日志列表
     */
    List<EduStudentTrainLog> selectList(@Param("filter") EduStudentTrainLogFilter filter);

    /**
     * 查询学员培训日志分页列表
     * @param filter 过滤条件
     * @return 返回学员培训日志分页列表
     */
    /*
        allowSortNames = {"student_id","student_name","operate_date_time","operate_date","msg"},
        sortNameMaps = {"student_id:student_id","student_name:student_name","operate_date_time:operate_date_time","operate_date:operate_date","msg:msg"}
    */
    @Paging
    List<EduStudentTrainLog> selectPageList(@Param("filter") EduStudentTrainLogFilter filter);
}